package cn.edu.baiyunu.myapplication.data.repository

import cn.edu.baiyunu.myapplication.data.model.Category
import kotlinx.coroutines.flow.Flow

/**
 * 分类仓库接口
 */
interface CategoryRepository {
    /**
     * 获取支出分类
     */
    fun getExpenseCategories(): Flow<List<Category>>
    
    /**
     * 获取收入分类
     */
    fun getIncomeCategories(): Flow<List<Category>>
    
    /**
     * 根据ID获取分类
     */
    fun getCategoryById(id: String): Flow<Category?>
    
    /**
     * 添加分类
     */
    suspend fun addCategory(category: Category)
    
    /**
     * 更新分类
     */
    suspend fun updateCategory(category: Category)
    
    /**
     * 删除分类
     */
    suspend fun deleteCategory(id: String)
    
    /**
     * 初始化默认分类
     */
    suspend fun initDefaultCategories()
} 